<?php
/**
 * @author Anh Nguyen
 * @copyright 2012
 */
 
defined('APP') or die('Denied access !');

class Default_Controller_Auth extends Controller
{
    public function indexAction()
    {
        Core::redirect(Core::site_url('index'));
    }
    
    public function loginAction()
    {
        if( !isset($_POST['login_acc']) AND !isset($_POST['login_pass'])) {
            header('Location: ' . Core::site_url('index'));
        }
        session_start();
        $security = $this->load->library('Security');
        $acc = $_POST['login_acc'];
        $pwd = $_POST['login_pass'];
        $a = array();
        $pwd = $security->password_encrypt($pwd);
        if( isset($_POST['remember']) AND $_POST['remember'] == 1) {
            $remember = true;
        }
        $user = new Default_Model_User;
        if( !$rs = $user->userLogin($acc, $pwd)) {
            $a['status'] = 'fail';
            $a['msg'] = "<p>Tên đăng nhập hoặc mật khẩu không chính xác. Xin vui lòng thử lại hoặc ấn <a href=\"" . Core::site_url('auth/forgot') . "\">Quên mật khẩu</a></p>";
        } else {
            if($rs['uBanned'] == 1) {
                $a['status'] = 'fail';
                $a['msg'] = '<p>Tài khoản của bạn đã bị khóa, xin liên hệ với admin !</p>';
            } elseif ($rs['uStt'] == 1) {
                $a['status'] = 'fail';
                $a['msg'] = '<p>Tài khoản của bạn chưa kích hoạt, xin vui lòng kích hoạt !</p>';
            } else {
                $a['status'] = 'success';
            }
        }
        echo json_encode($a);
    }
    
    public function signupAction()
    {
        if( !isset($_POST['captcha'])) {
            Core::redirect(Core::site_url('index'));
        } else {
            session_start();
            
            $i = 0;
            foreach($_POST as $post)
            {
                if ( $i != 10 AND $i != 11)
                    if($post == '') {
                        $a['status'] = 'fail';
                        $a['msg'] = 'Các thông tin bạn nhập chưa chính xác, xin vui lòng nhập đầy đủ !';
                        echo json_encode($a);
                        return false;
                    }
                $i++;
            }
            
            extract($_POST);
            $a = array();
            if(Core::ValidCaptcha($captcha) === FALSE) {
                $a['status'] = 'fail';
                $a['msg'] = 'Mã xác nhận không chính xác, xin vui lòng thử lại !';
                echo json_encode($a);
                return false;
            }
            
            $user = new Default_Model_User;
            if($user->userExists($uAcc)) {
                $a['status'] = 'fail';
                $a['msg'] = 'Tên truy cập đã tồn tại, xin vui lòng thử lại !';
                echo json_encode($a);
                return false;
            }
            
            if($user->emailExists($uEmail)) {
                $a['status'] = 'fail';
                $a['msg'] = 'Email đã có người sử dụng, xin vui lòng thử lại !';
                echo json_encode($a);
                return false;
            }
            
            $uB_Day = intval($_POST['uBirthday-Day']);
            $uB_Month = intval($_POST['uBirthday-Month']);
            $uB_Year = intval($_POST['uBirthday-Year']);
            $birthday = gmmktime(0,0,0,$uB_Month,$uB_Day,$uB_Year);
            
            if($user->signUp($_POST, $birthday)) {
                $a['status'] = 'success';
            } else {
                $a['status'] = 'fail';
                $a['msg'] = 'Có lỗi xảy ra, xin vui lòng thử lại !';
                echo json_encode($a);
                return false;
            }
        }
    }
}
?>